package xijia.plus.docs.manage.all.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.github.wslxm.springbootplus2.core.base.model.BasePage;
import xijia.plus.docs.manage.all.model.dto.DocCategoryDTO;
import xijia.plus.docs.manage.all.model.entity.DocCategory;
import xijia.plus.docs.manage.all.model.query.DocCategoryQuery;
import xijia.plus.docs.manage.all.model.vo.DocCategoryVO;

import java.util.List;

/**
 * 文档类别 Service
 *
 * <p>
 * ::本代码由[兮家小二]提供的代码生成器生成,如有问题,请手动修改 ::作者CSDN:https://blog.csdn.net/qq_41463655
 * </p>

 * @author ws
 * @email 1720696548@qq.com
 * @date 2023-04-23 11:03:15
 */
public interface DocCategoryService extends IService<DocCategory> {

    /**
     * 列表查询
     *
     * @param query query
     * @return 分页列表数据
     */
    BasePage<DocCategoryVO> findPage(String tenantName,DocCategoryQuery query);

    /**
     * 列表查询
     *
     * @param query query
     * @return 分页列表数据
     */
    List<DocCategoryVO> list(String tenantName,DocCategoryQuery query);

    /**
     * id 查询
     *
     * @param id id
     * @return DocCategoryVO
     */
    DocCategoryVO findId(String tenantName,String id);

    /**
     * 添加
     *
     * @param dto dto
     * @return 主键id
     */
    String insert(String tenantName,DocCategoryDTO dto);

    /**
     * id 编辑
     *
     * @param id id
     * @param dto dto
     * @return boolean
     */
    boolean upd( String tenantName,String id, DocCategoryDTO dto);

    /**
     * 删除
     *
     * @param id id
     * @return boolean
     */
    boolean del(String tenantName,String id);


    /**
     * 通过 code 获取分类名称
     * @param tenantName
     * @param code
     * @return
     */
    String findCategoryName(String tenantName,Integer code);

    /**
     * 通过 分类名称  获取 code
     * @param tenantName
     * @param name
     * @return
     */
    Integer findCategoryCode(String tenantName,String name);

}

